#ifndef _pqueue_h
#define _pqueue_h

#include "genlib.h"
#include "graph.h"

typedef struct pqueueCDT *pqueueADT;
typedef struct nodeCDT *nodeADT;

pqueueADT NewPQueue(int pqueueSize);
void FreePQueue(pqueueADT pqueue);
bool nodeInQueue(pqueueADT pqueue, nodeT node);
bool IsEmpty(pqueueADT pqueue);
bool IsFull(pqueueADT pqueue);
void Enqueue(pqueueADT pqueue, nodeT newNode);
nodeT DequeueMin(pqueueADT pqueue);
void printQueue(pqueueADT pqueue);
void minHeap(pqueueADT pqueue);

#endif